package ClassAndObject.Object_Objects;

import java.util.Random;

public class Demo02Equals {
    public static void main(String[] args) {
        /*
            public boolean equals(Object obj)指示一些其他对象是否等于此

            Object类的equals方法的源码：
            public boolean equals(Object obj) {
                return (this == obj);
            }
            参数：Object obj：可以传递任意的对象
            方法体：==：比较运算符，返回的就是一个布尔值
            基本数据类型：比较的是值
            引用数据类型：比较的是两个对象的地址值

            this是谁？哪个对象调用的方法，方法中的this就是那个对象
            obj就是传递过来的参数

            this==obj ==> p1=p2
        */
        Person p1 = new Person("张靓颖", 35);
        Person p2 = new Person("张靓颖", 35);

        System.out.println(p1);
        System.out.println(p2);

        Random random = new Random();
        boolean random1 = p1.equals(random);

        boolean equals = p1.equals(p2);
        System.out.println(equals);
        System.out.println(random1);
    }
}
